home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Applications / Audio / GISO / Source / info.subproj / Credits.m < prev    next >
Encoding:
Text File  |  1994-01-26  |  1.4 KB  |  99 lines

  1. #import "Credits.h"
  2.  
  3. static void tick(DPSTimedEntry timedEntry, double now, void *userData );
  4.  
  5. @interface Credits (Private )
  6. - _scrollTick;
  7. @end
  8.  
  9. @implementation Credits
  10.  
  11. - init
  12. {
  13.    [super init];
  14.  
  15.    origin.x = 0.0;
  16.    origin.y = 0.0;
  17.    seconds = 0.05;
  18.    done = YES;
  19.    
  20.    return self;
  21. }
  22.  
  23. - setScrollView: anObject
  24. {
  25.    char buf[MAXPATHLEN + 1];
  26.  
  27.    [[NXBundle mainBundle] getPath: buf forResource: "credits" ofType:"rtfd"];  
  28.  
  29.    scrollView = anObject;
  30.  
  31.    [scrollView setVertScrollerRequired: NO];
  32.    clipView = [[scrollView docView] superview];
  33.    text = [clipView docView];
  34.  
  35.    [text setMonoFont: NO];
  36.    [text openRTFDFrom: buf];
  37.    [text setSelectable: NO];
  38.    [text setEditable: NO];
  39.  
  40.    return self;
  41. }
  42.  
  43. - start: sender
  44. {
  45.    if(done)
  46.    {
  47.       done = NO;
  48.       scrollFunc = DPSAddTimedEntry(seconds, tick, (void *)self, NX_BASETHRESHOLD);
  49.    }
  50.    
  51.    return self;
  52. }
  53.  
  54. - setSeconds: (double) sec
  55. {
  56.    seconds = sec;
  57.    return self;
  58. }
  59.  
  60. - (double) seconds
  61. {
  62.    return seconds;
  63. }
  64.  
  65. @end
  66.  
  67. @implementation Credits (Private )
  68.  
  69. - _scrollTick;
  70. {
  71.    NXRect theSize;
  72.  
  73.    if(!done)
  74.    {
  75.       [text getFrame: &theSize];
  76.  
  77.       if(origin.y < theSize.size.height - 10)
  78.       origin.y += 1.0;
  79.       else
  80.       {
  81.      done = YES;
  82.      DPSRemoveTimedEntry(scrollFunc);
  83.      origin.y = 0;
  84.       }
  85.       
  86.       [clipView rawScroll: &origin];
  87.    }
  88.    
  89.    return self;
  90. }
  91.  
  92.  
  93. @end
  94.  
  95. static void tick(DPSTimedEntry timedEntry, double now, void *userData )
  96. {
  97.    [(id)userData _scrollTick];
  98. }
  99.